package com.spring.satoken.controller;

import cn.dev33.satoken.annotation.*;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

/**
 * @program: awesome-spring
 * @description: 鉴权控制器
 * @author: Alex Wu
 * @createDate: 2025-02-05 14:46
 **/

@RestController
@RequestMapping("/auc/")
public class AucController {
    // 登录校验：只有登录之后才能进入该方法
    @SaCheckLogin
    @RequestMapping("info")
    public String info() {
        return "查询用户信息";
    }

    // 角色校验：必须具有指定角色才能进入该方法
    @SaCheckRole("super-admin")
    @RequestMapping("add")
    public String add() {
        return "用户增加";
    }

   /* // 权限校验：必须具有指定权限才能进入该方法
    @SaCheckPermission("user-add")
    @RequestMapping("add")
    public String add() {
        return "用户增加";
    }

    // 二级认证校验：必须二级认证之后才能进入该方法
    @SaCheckSafe()
    @RequestMapping("add")
    public String add() {
        return "用户增加";
    }

    // Http Basic 校验：只有通过 Http Basic 认证后才能进入该方法
    @SaCheckHttpBasic(account = "sa:123456")
    @RequestMapping("add")
    public String add() {
        return "用户增加";
    }

    // Http Digest 校验：只有通过 Http Digest 认证后才能进入该方法
    @SaCheckHttpDigest(value = "sa:123456")
    @RequestMapping("add")
    public String add() {
        return "用户增加";
    }*/

    // 校验当前账号是否被封禁 comment 服务，如果已被封禁会抛出异常，无法进入方法
    @SaCheckDisable("comment")
    @RequestMapping("send")
    public String send() {
        return "查询用户信息";
    }


}
